package utils;

import java.io.File;

public class Constants {
	public static boolean DEBUG = false;
	public static final String TRAIN_DIR = "trainData" + File.separator;
	public static final String TEST_DIR  = "testData" + File.separator;
	public static final String IMAGES_DIR = "images" + File.separator;
	public static final String CORRECT = "correct.txt";
	public static final String SVMPATH = "svmTrainData"+File.separator;
	
	// erosion, dilation
	public static final int TEMPLATE_SIZE 	= 1;
	public static final int NUM_DILATIONS 	= 1;
	public static final int NUM_EROSIONS 	= 2;
	
	// thresholding
	public static final int THRESHOLD 		= 128;		
	
	// filling components
	public static final int MAX_DIFF			= 10;	// while filling, allow small differences for neighboring pixels
	public static final int MIN_CLUSTER_SIZE 	= 30;	// minimum number of pixels in a cluster
	public static final double MIN_PIXEL_RATIO	= 0.1;	// ratio = number of pixels in a cluster divided by enclosing rectangle size 
	
	public static final int NUM_CHARS_TRAIN = 1;		// number of chars in the training set
	public static final int NUM_CHARS_EVAL = 5;			// number of chars in the evaluation set
	
	
	// Machine learning
	public static final String TRAIN_ARFF 	 = "otrain.arff";	// file containing feature values for the training data
	public static final String TEST_ARFF	 = "test.arff";	// file containing feature values for the testing data
	public static final String MODEL_FILE	 = "oNN.model";	// file containing the trained model
	public static final String SVM_MODEL_DIR = "SVMModels"+ File.separator;
	
	// segmentation
	public static final boolean USE_SEGMENTATION = true;
	public static final boolean USE_GAUSSIAN_PRIOR = true;

}
